home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / X11 / extensions / XKBfile.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-04-12  |  11.0 KB  |  495 lines

  1. /* $XFree86: xc/lib/xkbfile/XKBfile.h,v 3.6 2003/10/24 16:33:09 tsi Exp $ */
  2.  
  3. #ifndef _XKBFILE_H_
  4. #define    _XKBFILE_H_ 1
  5.  
  6. /* $Xorg: XKBfile.h,v 1.3 2000/08/17 19:46:43 cpqbld Exp $ */
  7. /************************************************************
  8.  Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
  9.  
  10.  Permission to use, copy, modify, and distribute this
  11.  software and its documentation for any purpose and without
  12.  fee is hereby granted, provided that the above copyright
  13.  notice appear in all copies and that both that copyright
  14.  notice and this permission notice appear in supporting
  15.  documentation, and that the name of Silicon Graphics not be 
  16.  used in advertising or publicity pertaining to distribution 
  17.  of the software without specific prior written permission.
  18.  Silicon Graphics makes no representation about the suitability 
  19.  of this software for any purpose. It is provided "as is"
  20.  without any express or implied warranty.
  21.  
  22.  SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS 
  23.  SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
  24.  AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
  25.  GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL 
  26.  DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 
  27.  DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 
  28.  OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
  29.  THE USE OR PERFORMANCE OF THIS SOFTWARE.
  30.  
  31.  ********************************************************/
  32.  
  33. /***====================================================================***/
  34.  
  35. #define    XkbXKMFile    0
  36. #define    XkbCFile    1
  37. #define    XkbXKBFile    2
  38. #define    XkbMessage    3
  39.  
  40. #define    XkbMapDefined        (1<<0)
  41. #define    XkbStateDefined        (1<<1)
  42.  
  43. typedef struct _XkbFileInfo {
  44.     unsigned        type;
  45.     unsigned        defined;
  46.     XkbDescPtr         xkb;
  47. } XkbFileInfo,*XkbFileInfoPtr;
  48.  
  49. typedef void    (*XkbFileAddOnFunc)(
  50.     FILE *        /* file */,
  51.     XkbFileInfo *    /* result */,
  52.     Bool        /* topLevel */,
  53.     Bool        /* showImplicit */,
  54.     int            /* fileSection */,
  55.     void *        /* priv */
  56. );
  57.  
  58. /***====================================================================***/
  59.  
  60. #define    _XkbSuccess            0
  61. #define    _XkbErrMissingNames        1
  62. #define    _XkbErrMissingTypes        2
  63. #define    _XkbErrMissingReqTypes        3
  64. #define    _XkbErrMissingSymbols        4
  65. #define    _XkbErrMissingVMods        5
  66. #define    _XkbErrMissingIndicators    6
  67. #define    _XkbErrMissingCompatMap        7
  68. #define    _XkbErrMissingSymInterps    8
  69. #define    _XkbErrMissingGeometry        9
  70. #define    _XkbErrIllegalDoodad        10
  71. #define    _XkbErrIllegalTOCType        11
  72. #define    _XkbErrIllegalContents        12
  73. #define    _XkbErrEmptyFile        13
  74. #define    _XkbErrFileNotFound        14
  75. #define    _XkbErrFileCannotOpen        15
  76. #define    _XkbErrBadValue            16
  77. #define    _XkbErrBadMatch            17
  78. #define    _XkbErrBadTypeName        18
  79. #define    _XkbErrBadTypeWidth        19
  80. #define    _XkbErrBadFileType        20
  81. #define    _XkbErrBadFileVersion        21
  82. #define    _XkbErrBadFileFormat        22
  83. #define    _XkbErrBadAlloc            23
  84. #define    _XkbErrBadLength        24
  85. #define    _XkbErrXReqFailure        25
  86. #define    _XkbErrBadImplementation    26
  87.  
  88. extern char *        _XkbErrMessages[];
  89. extern unsigned        _XkbErrCode;
  90. extern char *        _XkbErrLocation;
  91. extern unsigned        _XkbErrData;
  92.  
  93. /***====================================================================***/
  94.  
  95. _XFUNCPROTOBEGIN
  96.  
  97. extern    char *    XkbIndentText(
  98.     unsigned    /* size */
  99. );
  100.  
  101. extern    char *    XkbAtomText(
  102.     Display *    /* dpy */,
  103.     Atom     /* atm */,
  104.     unsigned    /* format */
  105. );
  106.  
  107. extern char *    XkbKeysymText(
  108.     KeySym    /* sym */,
  109.     unsigned    /* format */
  110. );
  111.  
  112. extern char *    XkbStringText(
  113.     char *    /* str */,
  114.     unsigned    /* format */
  115. );
  116.  
  117. extern char *    XkbKeyNameText(
  118.     char *    /* name */,
  119.     unsigned    /* format */
  120. );
  121.  
  122. extern char *
  123. XkbModIndexText(
  124.     unsigned    /* ndx */,
  125.     unsigned    /* format */
  126. );
  127.  
  128. extern char *
  129. XkbModMaskText(
  130.     unsigned    /* mask */,
  131.     unsigned    /* format */
  132. );
  133.  
  134. extern char *    XkbVModIndexText(
  135.     Display *    /* dpy */,
  136.     XkbDescPtr    /* xkb */,
  137.     unsigned    /* ndx */,
  138.     unsigned    /* format */
  139. );
  140.  
  141. extern    char *    XkbVModMaskText(
  142.     Display *    /* dpy */,
  143.     XkbDescPtr    /* xkb */,
  144.     unsigned    /* modMask */,
  145.     unsigned    /* mask */,
  146.     unsigned    /* format */
  147. );
  148.  
  149. extern char *    XkbConfigText(
  150.     unsigned     /* config */,
  151.     unsigned     /* format */
  152. );
  153.  
  154. extern char *    XkbSIMatchText(
  155.     unsigned    /* type */,
  156.     unsigned    /* format */
  157. );
  158.  
  159. extern char *    XkbIMWhichStateMaskText(
  160.     unsigned    /* use_which */,
  161.     unsigned    /* format */
  162. );
  163.  
  164. extern char *    XkbAccessXDetailText(
  165.     unsigned    /* state */,
  166.     unsigned    /* format */
  167. );
  168.  
  169. extern char *    XkbNKNDetailMaskText(
  170.     unsigned    /* detail */,
  171.     unsigned    /* format */
  172. );
  173.  
  174. extern char *    XkbControlsMaskText(
  175.     unsigned    /* ctrls */,
  176.     unsigned    /* format */
  177. );
  178.  
  179. extern char *    XkbGeomFPText(
  180.     int        /* val */,
  181.     unsigned     /* format */
  182. );
  183.  
  184. extern char *    XkbDoodadTypeText(
  185.     unsigned    /* type */,
  186.     unsigned    /* format */
  187. );
  188.  
  189. extern char *    XkbActionTypeText(
  190.     unsigned    /* type */,
  191.     unsigned    /* format */
  192. );
  193.  
  194. extern char *    XkbActionText(
  195.     Display *    /* dpy */,
  196.     XkbDescPtr    /* xkb */,
  197.     XkbAction *    /* action */,
  198.     unsigned    /* format */
  199. );
  200.  
  201. extern char *    XkbBehaviorText(
  202.     XkbDescPtr         /* xkb */,
  203.     XkbBehavior *    /* behavior */,
  204.     unsigned        /* format */
  205. );
  206.  
  207. /***====================================================================***/
  208.  
  209. #define    _XkbKSLower    (1<<0)
  210. #define    _XkbKSUpper    (1<<1)
  211.  
  212. #define    XkbKSIsLower(k)        (_XkbKSCheckCase(k)&_XkbKSLower)
  213. #define    XkbKSIsUpper(k)        (_XkbKSCheckCase(k)&_XkbKSUpper)
  214. #define XkbKSIsKeypad(k)    (((k)>=XK_KP_Space)&&((k)<=XK_KP_Equal))
  215. #define    XkbKSIsDeadKey(k)    \
  216.         (((k)>=XK_dead_grave)&&((k)<=XK_dead_semivoiced_sound))
  217.  
  218. extern    unsigned _XkbKSCheckCase(
  219.    KeySym    /* sym */
  220. );
  221.  
  222. extern    int     XkbFindKeycodeByName(
  223.     XkbDescPtr    /* xkb */,
  224.     char *    /* name */,
  225.     Bool    /* use_aliases */
  226. );
  227.  
  228. extern    Bool    XkbLookupGroupAndLevel(
  229.     XkbDescPtr    /* xkb */,
  230.     int        /* key */,
  231.     int    *    /* mods_inout */,
  232.     int *    /* grp_inout */,
  233.     int    *    /* lvl_rtrn */
  234. );
  235.  
  236. /***====================================================================***/
  237.  
  238. #ifndef XKB_IN_SERVER
  239.  
  240. extern Bool    XkbLookupCanonicalRGBColor(
  241.     char *    /* def */,
  242.     XColor *    /* color */
  243. );
  244.  
  245. #endif
  246.  
  247. /***====================================================================***/
  248.  
  249. extern    char *    XkbAtomGetString(
  250.     Display *    /* dpy */,
  251.     Atom     /* atm */
  252. );
  253.  
  254. extern    Atom    XkbInternAtom(
  255.     Display *    /* dpy */,
  256.     char *    /* name */,
  257.     Bool    /* onlyIfExists */
  258. );
  259.  
  260. extern    Status    XkbChangeKbdDisplay(
  261.     Display *        /* newDpy */,
  262.     XkbFileInfo *    /* result */
  263. );
  264.  
  265. extern    Atom    XkbChangeAtomDisplay(
  266.     Display *    /* oldDpy */,
  267.     Display *    /* newDpy */,
  268.     Atom    /* atm */
  269. );
  270.  
  271. extern    void    XkbInitAtoms(
  272.     Display *    /* dpy */
  273. );
  274.  
  275. /***====================================================================***/
  276.  
  277. #ifdef _XKBGEOM_H_
  278.  
  279. #define    XkbDW_Unknown    0
  280. #define    XkbDW_Doodad    1
  281. #define    XkbDW_Section    2
  282. typedef struct _XkbDrawable {
  283.     int        type;
  284.     int        priority;
  285.     union {
  286.         XkbDoodadPtr    doodad;
  287.         XkbSectionPtr    section;
  288.     } u;
  289.     struct _XkbDrawable *    next;
  290. } XkbDrawableRec,*XkbDrawablePtr; 
  291.  
  292. extern    XkbDrawablePtr
  293. XkbGetOrderedDrawables(
  294.     XkbGeometryPtr    /* geom */,
  295.     XkbSectionPtr    /* section */
  296. );
  297.  
  298. extern    void
  299. XkbFreeOrderedDrawables(
  300.     XkbDrawablePtr    /* draw */
  301. );
  302.  
  303. #endif
  304.  
  305. /***====================================================================***/
  306.  
  307. extern    unsigned    XkbConvertGetByNameComponents(
  308.     Bool        /* toXkm */,
  309.     unsigned         /* orig */
  310. );
  311.  
  312. extern    unsigned    XkbConvertXkbComponents(
  313.     Bool        /* toXkm */,
  314.     unsigned         /* orig */
  315. );
  316.  
  317. extern    Bool    XkbDetermineFileType(
  318.     XkbFileInfo *    /* xkb */,
  319.     int            /* format */,
  320.     int *        /* opts_missing */
  321. );
  322.  
  323. extern    Bool    XkbNameMatchesPattern(
  324.     char *        /* name */,
  325.     char *        /* pattern */
  326. );
  327.  
  328. /***====================================================================***/
  329.  
  330. extern    Bool    XkbWriteXKBKeycodes(
  331.     FILE *        /* file */,
  332.     XkbFileInfo *    /* result */,
  333.     Bool        /* topLevel */,
  334.     Bool        /* showImplicit */,
  335.     XkbFileAddOnFunc    /* addOn */,
  336.     void *        /* priv */
  337. );
  338.  
  339. extern    Bool    XkbWriteXKBKeyTypes(
  340.     FILE *        /* file */,
  341.     XkbFileInfo *    /* result */,
  342.     Bool        /* topLevel */,
  343.     Bool        /* showImplicit */,
  344.     XkbFileAddOnFunc    /* addOn */,
  345.     void *        /* priv */
  346. );
  347.  
  348. extern    Bool    XkbWriteXKBCompatMap(
  349.     FILE *        /* file */,
  350.     XkbFileInfo *    /* result */,
  351.     Bool        /* topLevel */,
  352.     Bool        /* showImplicit */,
  353.     XkbFileAddOnFunc    /* addOn */,
  354.     void *        /* priv */
  355. );
  356.  
  357. extern    Bool    XkbWriteXKBSymbols(
  358.     FILE *        /* file */,
  359.     XkbFileInfo *    /* result */,
  360.     Bool        /* topLevel */,
  361.     Bool        /* showImplicit */,
  362.     XkbFileAddOnFunc    /* addOn */,
  363.     void *        /* priv */
  364. );
  365.  
  366. extern    Bool    XkbWriteXKBGeometry(
  367.     FILE *        /* file */,
  368.     XkbFileInfo *    /* result */,
  369.     Bool        /* topLevel */,
  370.     Bool        /* showImplicit */,
  371.     XkbFileAddOnFunc    /* addOn */,
  372.     void *        /* priv */
  373. );
  374.  
  375. extern    Bool    XkbWriteXKBSemantics(
  376.     FILE *        /* file */,
  377.     XkbFileInfo *    /* result */,
  378.     Bool        /* topLevel */,
  379.     Bool        /* showImplicit */,
  380.     XkbFileAddOnFunc    /* addOn */,
  381.     void *        /* priv */
  382. );
  383.  
  384. extern    Bool    XkbWriteXKBLayout(
  385.     FILE *        /* file */,
  386.     XkbFileInfo *    /* result */,
  387.     Bool        /* topLevel */,
  388.     Bool        /* showImplicit */,
  389.     XkbFileAddOnFunc    /* addOn */,
  390.     void *        /* priv */
  391. );
  392.  
  393. extern    Bool    XkbWriteXKBKeymap(
  394.     FILE *        /* file */,
  395.     XkbFileInfo *    /* result */,
  396.     Bool        /* topLevel */,
  397.     Bool        /* showImplicit */,
  398.     XkbFileAddOnFunc    /* addOn */,
  399.     void *        /* priv */
  400. );
  401.  
  402. extern    Bool    XkbWriteXKBFile(
  403.     FILE *        /* file */,
  404.     XkbFileInfo *    /* result */,
  405.     Bool        /* showImplicit */,
  406.     XkbFileAddOnFunc    /* addOn */,
  407.     void *        /* priv */
  408. );
  409.  
  410. extern    Bool    XkbWriteCFile(
  411.     FILE *        /* file */,
  412.     char *        /* name */,
  413.     XkbFileInfo *    /* info */
  414. );
  415.  
  416. extern    Bool    XkbWriteXKMFile(
  417.     FILE *        /* file */,
  418.     XkbFileInfo *    /* result */
  419. );
  420.  
  421. extern    Bool    XkbWriteToServer(
  422.     XkbFileInfo *    /* result */
  423. );
  424.  
  425. extern    void    XkbEnsureSafeMapName(
  426.     char *        /* name */
  427. );
  428.  
  429. extern    Bool    XkbWriteXKBKeymapForNames(
  430.     FILE *            /* file */,
  431.     XkbComponentNamesPtr    /* names */,
  432.     Display *            /* dpy */,
  433.     XkbDescPtr            /* xkb */,
  434.     unsigned            /* want */,
  435.     unsigned            /* need */
  436. );
  437.  
  438. extern    Status    XkbMergeFile(
  439.     XkbDescPtr            /* xkb */,
  440.     XkbFileInfo            /* finfo */
  441. );
  442.  
  443. /***====================================================================***/
  444.  
  445. extern Bool    XkmProbe(
  446.     FILE *        /* file */
  447. );
  448.  
  449. extern unsigned XkbReadFromServer(
  450.     Display *        /* dpy */,
  451.     unsigned        /* need */,
  452.     unsigned        /* want */,
  453.     XkbFileInfo *    /* result */
  454. );
  455.  
  456. extern unsigned    XkmReadFile(
  457.     FILE *        /* file */,
  458.     unsigned        /* need */,
  459.     unsigned        /* want */,
  460.     XkbFileInfo *    /* result */
  461. );
  462.  
  463. #ifdef _XKMFORMAT_H_
  464.  
  465. extern Bool    XkmReadTOC(
  466.     FILE *              /* file */,
  467.     xkmFileInfo *       /* file_info */,
  468.     int                 /* max_toc */,
  469.     xkmSectionInfo *    /* toc */
  470. );
  471.  
  472. extern xkmSectionInfo *XkmFindTOCEntry(
  473.     xkmFileInfo *       /* finfo */,
  474.     xkmSectionInfo *    /* toc */,
  475.     unsigned            /* type */
  476. );
  477.  
  478. extern Bool    XkmReadFileSection(
  479.     FILE *              /* file */,
  480.     xkmSectionInfo *    /* toc */,
  481.     XkbFileInfo *       /* result */,
  482.     unsigned *          /* loaded_rtrn */
  483. );
  484.  
  485. extern char *    XkmReadFileSectionName(
  486.     FILE *        /* file */,
  487.     xkmSectionInfo *    /* toc */
  488. );
  489.  
  490. #endif /* _XKMFORMAT_H  */
  491.  
  492. _XFUNCPROTOEND
  493.  
  494. #endif /* _XKBFILE_H_ */
  495.